Introspective pushdown analysis
نویسندگان
چکیده
In the static analysis of functional programs, pushdown flow analysis and abstract garbage collection skirt just inside the boundaries of soundness and decidability. This work illuminates and conquers the theoretical challenges that stand in the way of combining the power of these techniques. Pushdown flow analysis grants unbounded yet computable polyvariance to the analysis of return-flow in higherorder programs. Abstract garbage collection grants unbounded polyvariance to abstract addresses which become unreachable between invocations of the abstract contexts in which they were created. Pushdown analysis solves the problem of precisely analyzing recursion in higher-order languages; abstract garbage collection is essential in solving the “stickiness” problem. Alone, each method reduces analysis times and boosts precision by orders of magnitude. We combine these methods. The challenge in marrying these techniques is not subtle: computing the reachable control states of a pushdown system relies on limiting access during transition to the top of the stack; abstract garbage collection, on the other hand, needs full access to the entire stack to compute a root set, just as concrete collection does. Pushdown flow analysis already skirts just inside the boundary of decidability, so it is not clear that integrating abstract garbage collection will preserve decidability. In fact, introducing abstract garbage collection breaks the pushdown framework: to find the root set of reachable addresses, the analysis must consider the full contents of all possible stacks associated with a given control state. Such introspection clearly violates the constraints on a pushdown system. Introspective pushdown systems resolve this conflict. Introspective pushdown systems provide enough access to the stack to allow abstract garbage collection, but they remain restricted enough to compute control-state reachability, thereby enabling the sound and precise product of pushdown analysis and abstract garbage collection. Experiments reveal synergistic interplay between the techniques, and the fusion demonstrates “better-than-both-worlds” precision. ZU064-05-FPR paper-jfp 8 May 2013 19:18 2 C. Earl, I. Sergey, J.I. Johnson, M. Might, and D. Van Horn (define (id x) x) (define (f n) (cond [(<= n 1) 1] [else (* n (f (n 1)))])) (define (g n) (cond [(<= n 1) 1] [else (+ (* n n) (g (n 1)))])) (print (+ ((id f) 3) ((id g) 4))) Fig. 1. A small example to illuminate the strengths and weaknesses of both pushdown analysis and abstract garbage collection.
منابع مشابه
An Introspective Analysis of EAP Researchers’ Perceived Academic Writing Competence: The Case of Research Articles
Over the last decades, there has been a plethora of interest in possible challenges encountered by researchers while publishing research articles (RAs) in various disciplines for English for academic purposes (EAP).Given this, this study aimed to examine how a sampled number of EAPIranian researchers perceive the competence of academic RA writing, the major reasons for RA rejection, and difficu...
متن کاملReducing Deep Pushdown Automata
This contribution presents reducing variant of the deep pushdown automata. Deep pushdown automata is a new generalization of the classical pushdown automata. Basic idea of the modification consists of allowing these automata to access more deeper parts of pushdown and reducing strings to non-input symbols in the pushdown. It works similarly to bottom-up analysis simulation of context-free gramm...
متن کاملIntrospective Study of Emotion Icon in Public Chat as a Gesture of Texting
An emotion icon, better known as emoticon is a metacommunicative pictorial representation of a facial expression that, in the absence of body language and prosody, serves to draw a receiver's attention to the tenor or temper of a sender's nominal verbal communication, changing and improving its interpretation. The present study investigates the use of these nonverbal cues in whatsapp public cha...
متن کاملPushdown ow analysis with abstract garbage collection
In the static analysis of functional programs, pushdown flow analysis and abstract garbage collection push the boundaries of what we can learn about programs statically. This work illuminates and poses solutions to theoretical and practical challenges that stand in the way of combining the power of these techniques. Pushdown flow analysis grants unbounded yet computable polyvariance to the anal...
متن کاملWeighted Dynamic Pushdown Networks
We develop a generic framework for the analysis of programs with recursive procedures and dynamic process creation. To this end we combine the approach of weighted pushdown systems (WPDS) with the model of dynamic pushdown networks (DPN). The resulting model, weighted dynamic pushdown networks (WDPN), describes processes running in parallel, each of them being able to perform pushdown actions, ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013